マイクロソフトのガイダンスから、IAMのパスワードポリシーを検討してみた
はじめに
AWSチームのすずきです。
先日、マイクロソフト Network & AD サポートチームの公式ブログにて、 マイクロソフトが考える、IT 管理者向けのパスワードについてのガイダンスが公開されました。
このガイダンスを元に、IAMのアカウント設定として指定できるパスワードポリシーの設定について、 検討する機会がありましたので、紹介させていただきます。
IAM設定
設定画面
- AWSコンソールにAdministrator権限を有すユーザでログイン後、「Identity & Access Management」(IAM)を開きます
パスワードポリシー画面
- 「アカウント設定」のリンクよりパスワードポリシーの設定が可能です
- IAMのパスワードポリシーはデフォルトでは設定されていないため、初期状態では、セキュリティステータスにはその旨の通知が表示されています。
パスワードポリシー設定
パスワードの文字長
8 文字の最低パスワード長を維持する (必ずしも長いほど良いというわけではない)
- パスワードの最小長として、「8」を指定します
- 短すぎる文字列が脆弱なパスワードとして利用される事を回避します。
パスワードの文字種類
文字の組み合わせ (複雑さ) に関する要件を廃止する
- 大文字、小文字、数字、英数字以外(記号)を含む文字列を必要とはしないものとします
パスワードの有効期間
ユーザーアカウントの定期的なパスワード変更を強制しないようにする
- パスワードの失効、有効期間設定は行いません。
- 頻繁なパスワード更新を求められたユーザにより、特定の法則性を含む安易な文字列がパスワードとして利用される事を回避します
安易なパスワードの利用回避
わかりやすい一般的なパスワード使うことを禁止する
- パスワード候補文字列の辞書確認はADの機能となるため、代替策を検討します。
- 社内標準のパスワード管理ツールを定め、パスワード管理ツールで生成されたランダムな文字列をシステム毎に利用する事を推奨します。
- 1Password
- KeePass
- KeePassX
パスワードの転用、再利用禁止
業務アカウントのパスワードを社外他のアカウントに使いまわさないようユーザーを教育する
- パスワードの再利用を禁止とし、数種類のパスワードが繰り返し使われる事を回避します。
多要素認証の導入
多要素認証を必ず利用するようにする
- AWSアカウント管理者は、MFA(多要素認証)を必須とするルールを定め、AWS環境の利用者に周知します。
- 参考: AWSアカウントのセキュリティを強化する 〜 MFAの利用
- AWSアカウントの管理者は、MFA未設定アカウントの定期的な棚卸しを実施するものとします。
- IAMユーザ画面の一覧、列の表示/非表示でMFA設定有無を確認可能になります。
リスクに応じた多要素認証
リスクベース多要素認証の方法を検討する
- リスクの判定はAD特有機能となるため、代替策を検討します。
- 不正アクセスについて、CloudTrailによるロギングと、不正操作ログのアラート運用を検討します
- 参考: AWS管理コンソールの不正ログインをCloudTrail と CloudWatch Logsで検知する
- プロキシ、NATなど固定されたグローバルIPを利用してAWSコンソールを利用されている場合、接続元のIP制限を行う事も検討します。
- 参考: AWS管理コンソールへのアクセスをIPアドレスで制限したい
まとめ
今回のマイクロソフト社のガイダンス、厳しすぎるパスワードポリシーは 安易な文字列がパスワードとして採用されやすく、セキュリティ対策としては逆効果となる事が懸念される。 望ましい対策として、MFA(多要素認証)の利用と、パスワードの再利用禁止などが望ましいという内容でした。
これを受けたAWSの設定として、IAMのパスワードポリシーの設定例について紹介させて頂きましたが、 AWSのIAM、マイクロソフトのActive Directory(AD)との連携させることも可能です。 高度なユーザ管理機能を必要とされる場合、ADの利用もご検討ください。